<html>

	<head>
		<title>5.12.3 sql 指令</title>
		<meta charset="utf-8" />
		<meta name="author" content="jfinal,yaolin" />
		<meta name="Keywords" content="" />
		<link rel="stylesheet" type="text/css" href="../../css/global.css" />
	</head>

	<body>
		<h1>5.12.4 sql 指令</h1>
		<p>通过#sql 指令可以定义 sql 语句， 如下是代码示例：</p>
		<img src="../../images/ativeRecord/5.12.2.1.png" />
		<p>上例通过#sql 指令在模板文件中定义了 key 值为“ findPrettyGirl”的 sql 语句， 在 java 代码 中的获取方式如下：
		</p>
		<img src="../../images/ativeRecord/5.12.2.2.png" />
		<p>上例中第一行代码通过 Db.getSql()方法获取到定义好的 sql 语句， 第二行代码直接将 sql 用 于数据库查询。
		</p>
		<p>还可以通过 Model.getSql(key)方法来获取 sql 语句，功能与 Db.getSql(key)基本一样， 唯一 不同的是为多数据源分别配置了 sql 模板的场景：</p>
		<ul>
			<li>Model.getSql()在自身所对应的 ActiveRecordPlugin 的 sql 模板中去取 sql</li>
			<li>Db.getSql()在主 ActiveRecordPlugin 的 sql 模板中去取 sql</li>
			<li>可通过 Db.use(…).getSql(…) 实现 Model.getSql()相同功能</li>
		</ul>
		<p>也就是说，多数据源之下， 可为不同的 ActiveRecordPlugin 对象分别去配置 sql 模板， 有利 于模块化管理。
		</p>
	</body>

</html>